package com.kgcx.order.domain;

import com.kgcx.common.annotation.dict.Dict;
import lombok.Data;

import java.sql.Timestamp;

@Data
public class PayRecordDomain {

    /**
     * 下单订单号(支付订单号)
     */
    private String orderNo;

    /**
     * 提供支付使用
     */
    private String payOrderNo;

    /**
     * 上车位置行政区划编号
     */
    private Integer onArea;

    /**
     * 机动车驾驶员姓名
     */
    private String driverName;

    /**
     * 机动车驾驶证号
     */
    private String licenseId;
    /**
     * 运价类型编号
     */
    private int fareType;
    /**
     * 车辆号牌
     */
    private String vehicleNo;
    /**
     * 预计上车时间
     */
    private Timestamp bookDepTime;

    /**
     * 等待时间
     */
    private Integer waitTime;

    /**
     * 车辆出发经度
     */
    private String depLongItude;
    /**
     * 车辆出发纬度
     */
    private String depLatituDe;
    /**
     * 上车地点
     */
    private String depArea;
    /**
     * 上车时间
     */
    private Timestamp depTime;
    /**
     * 车辆到达经度
     */
    private String destLongitude;
    /**
     * 车辆到达纬度
     */
    private String destLatitude;

    /**
     * 下车地点
     */
    private String destArea;

    /**
     * 下车时间
     */
    private Timestamp destTime;
    /**
     * 预定车型
     */
    private Integer bookModel;

    /**
     * 预定车型名称
     */
    @Dict(type = "vehiclePurpose", fieldName = "bookModel")
    private String bookModelName;

    /**
     * 实际使用车型
     */
    private Integer mode;

    /**
     * 实际使用车型名称
     */
    @Dict(type = "vehiclePurpose", fieldName = "mode")
    private String modeName;
    /**
     * 载客里程
     */
    private Integer driveMile;

    /**
     * 载客时间
     */
    private Integer driveTime;

    /**
     * 空驶里程
     */
    private Integer waitMile;

    /**
     * 实收金额
     */
    private Long factPrice;

    /**
     * 应收金额
     */
    private Long price;

    /**
     * 现金支付金额
     */
    private Long cashPrice;
    /**
     * 电子支付机构
     */
    private String lineName;
    /**
     * 电子支付金额
     */
    private Long linePrice;
    /**
     * POS支付机构
     */
    private String posName;
    /**
     * POS支付金额
     */
    private Long posPrice;

    /**
     * 优惠金额
     */
    private Long benfitPrice;
    /**
     * 预约服务费
     */
    private Long bookTip;
    /**
     * 附加费用
     */
    private Long passEndgerTip;

    /**
     * 高峰时段时间加价金额
     */
    private Long peakUpPricec;

    /**
     * 夜间时段里程加价金额
     */
    private Long nightUpPrice;

    /**
     * 远途加价金额
     */
    private Long farUpPrice;

    /**
     * 其他加价金额
     */
    private Long otherUpPrice;

    /**
     * 结算状态 0未结算 1已结算 2未知
     */
    private int payState;
    /**
     * 乘客结算时间
     */
    private Timestamp payTime;

    /**
     * 订单完成时间
     */
    private Timestamp orderMatchTime;

    /**
     * 发票状态  0未开票 1已开票 2 未知
     */
    private int invoiceStatus;

    private Long customerId;

    private Long driverId;

    private Long autoId;

    private Integer payType;

    private String payAccount;

}
